<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>学习vue</title>
    <script src="../js/vue.js"></script>
    <style>
        *{
            padding: 12px;
        }
        .f1{
            background-color: coral;
        }
        .f2{
            background-color: rgb(214, 250, 12);
        }
        .f3{
            background-color: rgb(10, 222, 250);
        }
    </style>
</head>
<body>
    <div id="root">
        <!-- 绑定class样式--字符串写法，适用于样式名字不确定，需要用变量读取 -->
        <div class="f1" :class="c1" @click="change">{{name}}</div>
        <!-- 绑定class样式--数组写法，适用于样式名字不确定，样式的个数也不确定 -->
        <div class="f1" :class="arr" @click="change2">{{name}}</div>
        <!-- 绑定class样式--对象写法，适用于样式名字确定，样式的个数也确定，但要动态决定用不用 -->
        <div class="f1" :class="classObj" @click="change3">{{name}}</div>
        <!-- 绑定class样式--对象写法，适用于样式名字确定，样式的个数也确定，但要动态决定用不用 -->
        <div class="f1" :style="styleObj" @click="change4">{{name}}</div>
    </div>
    <script>
        Vue.config.productionTip = false
        new Vue({
            el:'#root',
            data:{
                name:'zzz1',
                c1:"f2",
                arr:[],
                classObj:{
                    f1:false,
                    f2:false,
                    f3:false
                },
                styleObj:{
                    fontSize:'40px',
                    backgroundColor:'skyblue',
                }
            },
            computed:{
            },
            methods:{
                change(){
                    console.log(this)
                    this.c1 = "f3"
                },
                change2(){
                    this.arr.push("f3")
                },
                change3(){
                    this.classObj.f2=!this.classObj.f2
                    this.classObj.f3=!this.classObj.f3
                },
                change4(){
                    this.styleObj.fontSize='390px'
                    this.styleObj.backgroundColor='#ff00ff'
                }
            },
            watch:{
            },
        })
    </script>    
</body>
</html>